Building and Coding Circuit Boards

Materials and software

  1. Eagle - software to design circuit boards - within fusion 360
  2. CNC mill - to mill the circuit boards
  3. Soldering iron - to solder the components to the board
  4. Arduino XiaoRP2040- to program the board
  5. Micropython - to program the board

*Circuit board Design principle check with Anthony*

  1. Check that your board complies with design principles (i.e. your wires are separated enough, your traces are thick enough, etc.)
  2. First step is PCB document which define relationship- Schematic / label what each pin is connected
  3. There are a couple short cuts on Eagle in Fusion that helped check for compliance that I do not remember now
  4. I ended up changing the type of connector I had to a 6 pin one so I can attach 3v and 5v devices to the board
  5. I did not realize you can route the board through the middle of components underneath them
  6. It's improtant to go back and forth between schematic and board to make sure everything is connected properly
Pre-Board
Pre-Design Principles Board
Post-Board
Post-Design Principles Board

Circuit board milling

  1. Upload schematic to usb drive using the right file extension - it may be based on what cnc mill you're gonna be using
  2. Plug in design to machine - it will give you an estimate that is ballpark but not great and also you can optimize the path depending on bit size
  3. Besides changing bits you can also sometimes make double sided pcb boards
  4. Sometimes the boards come out a bit fluffy
  5. If you take like a metal putty like knife you can scrape at it and it comes out much cleaner - you should replace the bit
  6. Basic board will take like 10 minutes to mill
tape
Pre-Design Principles Board
vac
Post-Design Principles Board

Circuit board soldering

  1. Get a soldering station and put to like 700 degree farenheight - you can also use a heat gun sometimes but that I think is used for smaller components
  2. Line your pieces up according to schematic and make sure you have the right orientation and part
  3. I accidentally connected a two pin instead of a three pin to the 2x3 pads and had to improvise to fix
  4. If you get unwanted solder on it you can wick it off no worries
  5. Most importantly you want to test your board for shorts by setting the multimeter to continuity and touching the leads to the pins and different routes on the board
board
Pre-Design Principles Board

Circuit board programming

  1. I uploaded micropython to arduino after plugging it in with boot button pressed
  2. I used chatgpt to modifiy one of the base level example to work with pins in my board - specifically the button and the led
  3. It changed my code so that everytime i press the button it turns the led rgb on and off
  4. I had to change the pins to the ones I had on my board according to my schematic. Micropython on the datasheet is read as pins which was good to know and you will have to read your datasheet to know how to reference the difference pins
  5. Code is here Here
Group project link Group Assignment